package com.west_traveler.entity.entity_editor;

import android.os.Parcel;
import android.os.Parcelable;

import java.io.Serializable;

/**
 * Description: 精品听单听单列表实体类
 * Date:2016年12月07日10:52
 *
 * @author: 刘悦.
 */

public class SpecialList implements Parcelable {
    private int id;
    private int trackId;
    private String intro;
    private String coverSmall;
    private String title;
    private String playPath32;
    private String playPath64;
    private int duration;
    private long createdAt;
    private int uid;
    private String nickname;
    private int albumId;
    private String albumTitle;
    private int favoritesCounts;
    private int playsCounts;
    private int sharesCounts;
    private int commentsCounts;
    private boolean isPaid;
    private boolean isFree;
    private boolean isAuthorized;
    private int priceTypeId;
    private int sampleDuration;


    public SpecialList() {
    }

    public SpecialList(int id, int trackId, String intro, String coverSmall, String title, String playPath32, String playPath64, int duration, long createdAt, int uid, String nickname, int albumId, String albumTitle, int favoritesCounts, int playsCounts, int sharesCounts, int commentsCounts, boolean isPaid, boolean isFree, boolean isAuthorized, int priceTypeId, int sampleDuration) {

        this.id = id;
        this.trackId = trackId;
        this.intro = intro;
        this.coverSmall = coverSmall;
        this.title = title;
        this.playPath32 = playPath32;
        this.playPath64 = playPath64;
        this.duration = duration;
        this.createdAt = createdAt;
        this.uid = uid;
        this.nickname = nickname;
        this.albumId = albumId;
        this.albumTitle = albumTitle;
        this.favoritesCounts = favoritesCounts;
        this.playsCounts = playsCounts;
        this.sharesCounts = sharesCounts;
        this.commentsCounts = commentsCounts;
        this.isPaid = isPaid;
        this.isFree = isFree;
        this.isAuthorized = isAuthorized;
        this.priceTypeId = priceTypeId;
        this.sampleDuration = sampleDuration;
    }

    protected SpecialList(Parcel in) {
        id = in.readInt();
        trackId = in.readInt();
        intro = in.readString();
        coverSmall = in.readString();
        title = in.readString();
        playPath32 = in.readString();
        playPath64 = in.readString();
        duration = in.readInt();
        createdAt = in.readLong();
        uid = in.readInt();
        nickname = in.readString();
        albumId = in.readInt();
        albumTitle = in.readString();
        favoritesCounts = in.readInt();
        playsCounts = in.readInt();
        sharesCounts = in.readInt();
        commentsCounts = in.readInt();
        isPaid = in.readByte() != 0;
        isFree = in.readByte() != 0;
        isAuthorized = in.readByte() != 0;
        priceTypeId = in.readInt();
        sampleDuration = in.readInt();
    }


    public int getId() {

        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public int getTrackId() {
        return trackId;
    }

    public void setTrackId(int trackId) {
        this.trackId = trackId;
    }

    public String getIntro() {
        return intro;
    }

    public void setIntro(String intro) {
        this.intro = intro;
    }

    public String getCoverSmall() {
        return coverSmall;
    }

    public void setCoverSmall(String coverSmall) {
        this.coverSmall = coverSmall;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getPlayPath32() {
        return playPath32;
    }

    public void setPlayPath32(String playPath32) {
        this.playPath32 = playPath32;
    }

    public String getPlayPath64() {
        return playPath64;
    }

    public void setPlayPath64(String playPath64) {
        this.playPath64 = playPath64;
    }

    public int getDuration() {
        return duration;
    }

    public void setDuration(int duration) {
        this.duration = duration;
    }

    public long getCreatedAt() {
        return createdAt;
    }

    public void setCreatedAt(long createdAt) {
        this.createdAt = createdAt;
    }

    public int getUid() {
        return uid;
    }

    public void setUid(int uid) {
        this.uid = uid;
    }

    public String getNickname() {
        return nickname;
    }

    public void setNickname(String nickname) {
        this.nickname = nickname;
    }

    public int getAlbumId() {
        return albumId;
    }

    public void setAlbumId(int albumId) {
        this.albumId = albumId;
    }

    public String getAlbumTitle() {
        return albumTitle;
    }

    public void setAlbumTitle(String albumTitle) {
        this.albumTitle = albumTitle;
    }

    public int getFavoritesCounts() {
        return favoritesCounts;
    }

    public void setFavoritesCounts(int favoritesCounts) {
        this.favoritesCounts = favoritesCounts;
    }

    public int getPlaysCounts() {
        return playsCounts;
    }

    public void setPlaysCounts(int playsCounts) {
        this.playsCounts = playsCounts;
    }

    public int getSharesCounts() {
        return sharesCounts;
    }

    public void setSharesCounts(int sharesCounts) {
        this.sharesCounts = sharesCounts;
    }

    public int getCommentsCounts() {
        return commentsCounts;
    }

    public void setCommentsCounts(int commentsCounts) {
        this.commentsCounts = commentsCounts;
    }

    public boolean isPaid() {
        return isPaid;
    }

    public void setPaid(boolean paid) {
        isPaid = paid;
    }

    public boolean isFree() {
        return isFree;
    }

    public void setFree(boolean free) {
        isFree = free;
    }

    public boolean isAuthorized() {
        return isAuthorized;
    }

    public void setAuthorized(boolean authorized) {
        isAuthorized = authorized;
    }

    public int getPriceTypeId() {
        return priceTypeId;
    }

    public void setPriceTypeId(int priceTypeId) {
        this.priceTypeId = priceTypeId;
    }

    public int getSampleDuration() {
        return sampleDuration;
    }

    public void setSampleDuration(int sampleDuration) {
        this.sampleDuration = sampleDuration;
    }

    @Override
    public int describeContents() {
        return 0;
    }

    @Override
    public void writeToParcel(Parcel parcel, int i) {
        parcel.writeInt(id);
        parcel.writeInt(trackId);
        parcel.writeString(intro);
        parcel.writeString(coverSmall);
        parcel.writeString(title);
        parcel.writeString(playPath32);
        parcel.writeString(playPath64);
        parcel.writeInt(duration);
        parcel.writeLong(createdAt);
        parcel.writeInt(uid);
        parcel.writeString(nickname);
        parcel.writeInt(albumId);
        parcel.writeString(albumTitle);
        parcel.writeInt(favoritesCounts);
        parcel.writeInt(playsCounts);
        parcel.writeInt(sharesCounts);
        parcel.writeInt(commentsCounts);
        parcel.writeByte((byte) (isPaid ? 1 : 0));
        parcel.writeByte((byte) (isFree ? 1 : 0));
        parcel.writeByte((byte) (isAuthorized ? 1 : 0));
        parcel.writeInt(priceTypeId);
        parcel.writeInt(sampleDuration);
    }

    public static final Creator<SpecialList> CREATOR = new Creator<SpecialList>() {
        @Override
        public SpecialList createFromParcel(Parcel in) {
            return new SpecialList(in);
        }

        @Override
        public SpecialList[] newArray(int size) {
            return new SpecialList[size];
        }
    };
}
